package com.stylefeng.guns.modular.pay.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 支付路由
 * </p>
 *
 * @author stylefeng
 * @since 2018-08-24
 */
@TableName("pay_mch_router")
public class MchRouter extends Model<MchRouter> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 版本
     */
    private Integer version;
    /**
     * 商户名
     */
    @TableField("mch_name")
    private String mchName;
    /**
     * 商户号
     */
    @TableField("mch_no")
    private String mchNo;
    /**
     * 支付方式编码
     */
    @TableField("pay_way_code")
    private String payWayCode;
    /**
     * 支付方式名称
     */
    @TableField("pay_way_name")
    private String payWayName;
    /**
     * 支付渠道编码
     */
    @TableField("pay_channel_code")
    private String payChannelCode;
    /**
     * 支付渠道名称
     */
    @TableField("pay_channel_name")
    private String payChannelName;
    /**
     * 服务名
     */
    @TableField("pay_channel_service")
    private String payChannelService;
    /**
     * 签约费率
     */
    @TableField("sign_rate")
    private BigDecimal signRate;
    /**
     * 是否限制信用卡（1-限制 0-不限制）
     */
    @TableField("limit_credit")
    private Integer limitCredit;
    /**
     * 扣费类型（0-商户，1-用户）
     */
    @TableField("charge_type")
    private Integer chargeType;
    /**
     * 扣费金额
     */
    @TableField("charge_amount")
    private BigDecimal chargeAmount;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("cerate_time")
    private Date cerateTime;
    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getMchName() {
        return mchName;
    }

    public void setMchName(String mchName) {
        this.mchName = mchName;
    }

    public String getMchNo() {
        return mchNo;
    }

    public void setMchNo(String mchNo) {
        this.mchNo = mchNo;
    }

    public String getPayWayCode() {
        return payWayCode;
    }

    public void setPayWayCode(String payWayCode) {
        this.payWayCode = payWayCode;
    }

    public String getPayWayName() {
        return payWayName;
    }

    public void setPayWayName(String payWayName) {
        this.payWayName = payWayName;
    }

    public String getPayChannelCode() {
        return payChannelCode;
    }

    public void setPayChannelCode(String payChannelCode) {
        this.payChannelCode = payChannelCode;
    }

    public String getPayChannelName() {
        return payChannelName;
    }

    public void setPayChannelName(String payChannelName) {
        this.payChannelName = payChannelName;
    }

    public String getPayChannelService() {
        return payChannelService;
    }

    public void setPayChannelService(String payChannelService) {
        this.payChannelService = payChannelService;
    }

    public BigDecimal getSignRate() {
        return signRate;
    }

    public void setSignRate(BigDecimal signRate) {
        this.signRate = signRate;
    }

    public Integer getLimitCredit() {
        return limitCredit;
    }

    public void setLimitCredit(Integer limitCredit) {
        this.limitCredit = limitCredit;
    }

    public Integer getChargeType() {
        return chargeType;
    }

    public void setChargeType(Integer chargeType) {
        this.chargeType = chargeType;
    }

    public BigDecimal getChargeAmount() {
        return chargeAmount;
    }

    public void setChargeAmount(BigDecimal chargeAmount) {
        this.chargeAmount = chargeAmount;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCerateTime() {
        return cerateTime;
    }

    public void setCerateTime(Date cerateTime) {
        this.cerateTime = cerateTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "MchRouter{" +
        "id=" + id +
        ", version=" + version +
        ", mchName=" + mchName +
        ", mchNo=" + mchNo +
        ", payWayCode=" + payWayCode +
        ", payWayName=" + payWayName +
        ", payChannelCode=" + payChannelCode +
        ", payChannelName=" + payChannelName +
        ", payChannelService=" + payChannelService +
        ", signRate=" + signRate +
        ", limitCredit=" + limitCredit +
        ", chargeType=" + chargeType +
        ", chargeAmount=" + chargeAmount +
        ", status=" + status +
        ", cerateTime=" + cerateTime +
        ", updateTime=" + updateTime +
        "}";
    }
}
